47
How can I prevent grouping by a specified column
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:DataColumns:Item("Freight"):AllowGroupBy := 0/*exGroupByNone*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
46
How can I sort alphabetically the columns to be displayed in the context menu/floating panel

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotBarVisible := 69595/*exPivotBarContextSortAscending+exPivotBarAllowResizeColumns+exPivotBarAllowUndoRedo+exPivotBarAutoUpdate+exPivotBarAllowFormatContent+exPivotBarAllowFormatAppearance+exPivotBarAllowValues+exPivotBarShowTotals+exPivotBarAutoFit+exPivotBarSizable+exPivotBarVisible*/
		oPivot:PivotColumnsSortOrder := 1/*exPivotColumnsAscending*/
		oPivot:PivotColumnsFloatBarVisible := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
45
How can I prevent dropping data to the control
#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:AllowDrop := .F.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
44
Is it possible to allow incremental filtering on drop down filter window too, as I can on the control menus

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0"
		oPivot:DisplayFilterList := 42272/*exHideFilterPattern+exFilterListDefault*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
43
How can I prevent showing the Filter For field in the drop down filter window

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0"
		oPivot:DisplayFilterList := 42272/*exHideFilterPattern+exFilterListDefault*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
42
How can I display the numeric columns only when selecting a new aggregate, like SUM

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0[bold]"
		oPivot:PivotColumns := "sum(5)/12,count(5)/12"
		oPivot:DataColumns:Item("Freight"):SortType := 1/*SortNumeric*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
41
How can I add a value column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0"
		oPivot:PivotColumns := "sum(5)/12"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
40
I would like to always have the subtotals in the same row of the "father row". Could that be done

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0[bold],2"
		oPivot:PivotColumns := "sum(5)/12,count(5)/12"
		oPivot:ShowViewCompact := 35/*exViewCompactAggregates+exViewCompact*/
		oPivot:PivotTotals := "/sum,sum(0)"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
39
Is there any way, when I change the filter of the column, it broadcast the filter to the other pivot columns that were duplicated

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0,2"
		oPivot:ShowBranchRows := 2/*exBranchCompact*/
		oPivot:PivotColumns := "sum(5)/12[filter='gBpNxjNh1MhlBoKNhpOZ0hJVNxpOhlMggKBhMZrMJnMoAgI='],count(5)/12[filter='gBpNxjNh1MhlBoKNhpOZ0hJVNxpOhlMggKBhMZrMJnMoAgI=']"
		oPivot:ShowViewCompact := 19/*exViewCompactKeepSettings+exViewCompact*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
38
How can I summarize more fields in the same cell

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0,2"
		oPivot:ShowBranchRows := 2/*exBranchCompact*/
		oPivot:PivotColumns := "sum(5)/12,count(5)/12"
		oPivot:ShowViewCompact := 3/*exViewCompact*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
37
How do I programmatically group by rows, in a compact way, no hierarchy lines

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0,2"
		oPivot:ShowBranchRows := 2/*exBranchCompact*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
36
How do I programmatically group by rows

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0,1,2"
		oPivot:LinesAtRoot := -1/*exLinesAtRoot*/
		oPivot:HasLines := 1/*exSolidLine*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
35
How do I programmatically group by columns

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0"
		oPivot:PivotColumns := "sum(5)/12;6"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
34
How can I hide the add new button on the pivot bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotBarVisible := 8155/*exPivotBarHideAddNew+exPivotBarAllowResizeColumns+exPivotBarAllowUndoRedo+exPivotBarAutoUpdate+exPivotBarAllowFormatContent+exPivotBarAllowFormatAppearance+exPivotBarAllowValues+exPivotBarShowTotals+exPivotBarAutoFit+exPivotBarSizable+exPivotBarVisible*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
33
Is it possible to show the data that generated the result, when double clicking the row

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:BeginUpdate()
		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0[italic]"
		oPivot:PivotColumns := "count(0)[underline]"
		oPivot:PivotTotals := "count[bold,strikeout]"
		oPivot:ShowDataOnDblClick := .T.
		oPivot:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
32
Does your control support subscript or superscript, in HTML captions

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:HeaderHeight := 22
		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:DataColumns:Item("ShipCountry"):Caption := "ShipCountry<font ;7><off 6><sha ;;0>subscript"
		oPivot:DataColumns:Item("ShipRegion"):Caption := "ShipRegion<font ;7><off -6><sha ;;0>superscript"
		oPivot:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
31
Is it possible to define a different background color for the pivot bar

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:SetProperty("Background",97/*exPivotBarBackColor*/,AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
30
How can I display an icon/image to Content sub-menu

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:Images("gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/yNAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=")
		oPivot:FormatContents():Item("numeric"):Name := "<img>1</img> Numeric"
		oPivot:PivotRows := "5[content=numeric]"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
29
How can I change the selection background in the control's context menu

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:SetProperty("Background",20/*exSelBackColorFilter*/,AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
28
How can I display the column as date in a long format

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:FormatContents():Add("longdate","longdate(date(value))")
		oPivot:PivotRows := "9[content=longdate]"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
27
Is it possible to display the column in upper-case

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:FormatContents():Add("upper","upper(value)")
		oPivot:PivotRows := "0[content=upper]"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
26
How can I programatically bold a column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0[bold]"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
25
How can I display the total with a different foreground color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:FormatAppearances():Add("fore"):SetProperty("ForeColor",AutomationTranslateColor( GraMakeRGBColor  ( { 255,0,0 } )  , .F. ))
		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0"
		oPivot:PivotColumns := "sum(5)"
		oPivot:PivotTotals := "sum[fore,bold]"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
24
How can I display the total with a different background color/ebn

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPivot:FormatAppearances():Add("back"):SetProperty("BackColor",0x1000000)
		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0"
		oPivot:PivotColumns := "sum(5)"
		oPivot:PivotTotals := "sum[back]"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
23
How can I display the total with a solid background color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:FormatAppearances():Add("back"):SetProperty("BackColor",AutomationTranslateColor( GraMakeRGBColor  ( { 240,240,240 } )  , .F. ))
		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0"
		oPivot:PivotColumns := "sum(5)"
		oPivot:PivotTotals := "sum[back]"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
22
Is it possible to change the "bold" caption in the control's context menu

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:FormatAppearances():Item("bold"):Name := "Ingrosat"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
21
Is it possible to show no Exclude field in the filter window

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:DisplayFilterList := 288/*exShowCheckBox+exSortItemsAsc*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
20
How can I prevent showing the drop down filter button

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:DisplayFilterList := 2/*exNoItems*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
19
How do I get the count of positive values only

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:Aggregates():Add("positive","sum"):FormatValue := "value < 0 ? 0 : 1"
		oPivot:PivotRows := "0"
		oPivot:PivotColumns := "positive(5)"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
18
How do I get the sum for negative values only

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:Aggregates():Add("negative","sum"):FormatValue := "value < 0 ? value : 0"
		oPivot:PivotRows := "0"
		oPivot:PivotColumns := "negative(5)"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
17
My data stores the data as strings, is it possible to load the data using Import method

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("'string 1';'string 2'#'string 3';'string 4'","str=`'` eor='#' eof=';' hdr=0")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
16
Is it possible to load data using different separators

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("item 1;item 2#item 3;item 4","eor='#' eof=';' hdr=0")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
15
Is it possible to align a column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oColumn := oPivot:DataColumns:Item(0)
			oColumn:Alignment := 2/*RightAlignment*/
			oColumn:HeaderAlignment := 2/*RightAlignment*/
		oPivot:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
14
How can I change by code the column/rows background color

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:BeginUpdate()
		oPivot:VisualAppearance():Add(1,"c:\exontrol\images\normal.ebn")
		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:FormatAppearances():Add("aka"):SetProperty("BackColor",0x1000000)
		oPivot:PivotRows := "0[aka]"
		oPivot:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
13
How can I apply by code any appearance to my list

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:BeginUpdate()
		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0[italic]"
		oPivot:PivotColumns := "count(0)[underline]"
		oPivot:PivotTotals := "count[bold,strikeout]"
		oPivot:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
12
How can I display an icon instead SUM/Total field

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oAggregate
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:BeginUpdate()
		oPivot:Images("gBJJgBggAAwAAgACEKAD/hz/EMNh8TIRNGwAjEZAEXjAojJAjIgjIBAEijUlk8plUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTqlVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9oEEwGBwWDwmFw2Hw9+xUsxGNx2Px+LyUnyGVy2VyeZAGNjIJjITjIb0OjjGi0ukAAVjILzmayWtAGejCvjLh2u3jG23O4ACx1ew11+zEYGsZZsZUe/wkZ4sYZvD4PCy8kjAzjLFjKd5WDjIz6HRvnTwUZGMZX8ZTPb8XU8Hh9cFjALjKVjK5jIv9/w9t78WdjJIoyWr7sKjIWu+/a8Og2QAEajLaIxAzlwhB0DwQuzoECjJWw1DiMQ3D0OgAQMKwsuj8xOy0SrzFEWMdFUExbGMCRfC8ZRswMaLsiofJVHiOo+kKRs2lL2Jsh8cyQo6Ag=" +;
		"=")
		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oAggregate := oPivot:Aggregates:Item("sum")
			oAggregate:Name := "<img>1</img> Sum"
			oAggregate:Caption := "<img>1</img>"
		oPivot:PivotColumnsFloatBarVisible := .T.
		oPivot:FormatPivotHeader := "iaggregate ? (caggregate + (iaggregate != 5 ? ' ' : '') + caption) : caption"
		oPivot:FormatPivotTotal := "caggregate"
		oPivot:PivotRows := "0"
		oPivot:PivotColumns := "sum(5)"
		oPivot:PivotTotals := "sum,count"
		oPivot:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
11
How can I change the caption to be displayed when dragging an aggregate function

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:BeginUpdate()
		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotColumnsFloatBarVisible := .T.
		oPivot:FormatPivotHeader := "(iaggregate ? ('<b>' + upper(caggregate) + '</b> of ' + caption) : caption)"
		oPivot:PivotRows := "0"
		oPivot:PivotColumns := "sum(5)"
		oPivot:PivotTotals := "sum,count"
		oPivot:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
10
I am using Import method, just wondering if I can rename the columns

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oColumn
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oColumn := oPivot:DataColumns:Item(0)
			oColumn:Caption := "New Caption"
			oColumn:PivotCaption := "New Pivot Caption"
		oPivot:Refresh()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
9
Does your control support Fit-To-Page Print and Print Preview

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPrint
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0,1,2"
		oPivot:ExpandAll()
		oPrint := CreateObject("Exontrol.Print")
			oPrint:Options := "FitToPage = On"
			oPrint:PrintExts := oPivot
			oPrint:Preview()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
8
How can I print the control

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPrint
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0,1,2"
		oPivot:ExpandAll()
		oPrint := CreateObject("Exontrol.Print")
			oPrint:PrintExts := oPivot
			oPrint:Preview()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
7
How can I hide the pivot bar (hide completly)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:PivotBarVisible := 4058/*exPivotBarAllowResizeColumns+exPivotBarAllowUndoRedo+exPivotBarAutoUpdate+exPivotBarAllowFormatContent+exPivotBarAllowFormatAppearance+exPivotBarAllowValues+exPivotBarShowTotals+exPivotBarAutoFit+exPivotBarSizable*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
6
How can I hide the pivot bar (auto-hide)

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:PivotBarVisible := 4083/*exPivotBarAllowResizeColumns+exPivotBarAllowUndoRedo+exPivotBarAutoUpdate+exPivotBarAllowFormatContent+exPivotBarAllowFormatAppearance+exPivotBarAllowValues+exPivotBarAutoHide+exPivotBarShowTotals+exPivotBarSizable+exPivotBarVisible*/

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
5
How can I count and get the total of a specified column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:BeginUpdate()
		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotColumnsFloatBarVisible := .T.
		oPivot:PivotRows := "0"
		oPivot:PivotColumns := "sum(5)"
		oPivot:PivotTotals := "sum,count"
		oPivot:EndUpdate()

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
4
How can I add show the columns once I grouped a column

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0"
		oPivot:PivotColumnsFloatBarVisible := .T.

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
3
How can I programatically group the columns

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")
		oPivot:PivotRows := "0:D"

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
2
Is it possible to load data from a data source

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot
	LOCAL rs

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		rs := CreateObject("ADOR.Recordset")
			rs:Open("Data","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExPivot\Sample\Access\sample.accdb",3/*adOpenStatic*/,3/*adLockOptimistic*/)
		oPivot:DataSource := rs

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN
1
How can I load data

#include "AppEvent.ch"
#include "ActiveX.ch"

PROCEDURE Main
 	LOCAL oForm
	LOCAL nEvent := 0, mp1 := NIL, mp2 := NIL, oXbp := NIL
	LOCAL oPivot

	oForm := XbpDialog():new( AppDesktop() )
	oForm:drawingArea:clipChildren := .T.
	oForm:create( ,,{100,100}, {640,480},, .F. )
	oForm:close  := {|| PostAppEvent( xbeP_Quit )}

	oPivot := XbpActiveXControl():new( oForm:drawingArea )
	oPivot:CLSID  := "Exontrol.Pivot.1" /*{5C9DF3D3-81B1-42C4-BED6-658F17748686}*/
	oPivot:create(,, {10,60},{610,370} )

		oPivot:Import("C:\Program Files\Exontrol\ExPivot\Sample\data.txt")

	oForm:Show()
	DO WHILE nEvent != xbeP_Quit
		nEvent := AppEvent( @mp1, @mp2, @oXbp )
		oXbp:handleEvent( nEvent, mp1, mp2 )
	ENDDO 
RETURN